package com.dimples.dd.system.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.dimples.dd.tenant.core.dataobject.TenantBaseDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 机构表
 */
@Schema(description="机构表")
@Data
@EqualsAndHashCode(callSuper=true)
@TableName(value = "system_org")
public class SystemOrgDO extends TenantBaseDO {
    /**
     * 机构主键
     */
    @TableId(value = "org_id", type = IdType.AUTO)
    @Schema(description="机构主键")
    private String orgId;

    /**
     * 机构名称
     */
    @TableField(value = "org_name")
    @Schema(description="机构名称")
    private String orgName;

    /**
     * 机构code
     */
    @TableField(value = "org_code")
    @Schema(description="机构code")
    private String orgCode;

    /**
     * 联系人邮箱
     */
    @TableField(value = "email")
    @Schema(description="联系人邮箱")
    private String email;

    /**
     * 联系人地址
     */
    @TableField(value = "address")
    @Schema(description="联系人地址")
    private String address;

    /**
     * 联系人电话
     */
    @TableField(value = "phone")
    @Schema(description="联系人电话")
    private String phone;

    /**
     * 联系人
     */
    @TableField(value = "link_man")
    @Schema(description="联系人")
    private String linkMan;

    /**
     * 申请状态
     */
    @TableField(value = "apply_status")
    @Schema(description="申请状态")
    private Byte applyStatus;

    /**
     * 上级机构
     */
    @TableField(value = "parent_id")
    @Schema(description="上级机构")
    private String parentId;

    /**
     * 上级机构集合
     */
    @TableField(value = "parent_ids")
    @Schema(description="上级机构集合")
    private String parentIds;

    /**
     * 地区名称
     */
    @TableField(value = "region")
    @Schema(description="地区名称")
    private String region;

    /**
     * 地区编码
     */
    @TableField(value = "region_code")
    @Schema(description="地区编码")
    private String regionCode;

    /**
     * 机构logo
     */
    @TableField(value = "org_img")
    @Schema(description="机构logo")
    private String orgImg;

    /**
     * 社会信用代码
     */
    @TableField(value = "social_code")
    @Schema(description="社会信用代码")
    private String socialCode;

    /**
     * 行政区划代码-省
     */
    @TableField(value = "province")
    @Schema(description="行政区划代码-省")
    private String province;

    /**
     * 行政区划代码-市/区
     */
    @TableField(value = "city")
    @Schema(description="行政区划代码-市/区")
    private String city;

    /**
     * 行政区划代码-县/区
     */
    @TableField(value = "county")
    @Schema(description="行政区划代码-县/区")
    private String county;

    /**
     * 助产标识0否1是
     */
    @TableField(value = "deliver_mark")
    @Schema(description="助产标识0否1是")
    private Byte deliverMark;

    /**
     * 监管标识0否1是
     */
    @TableField(value = "supervise_mark")
    @Schema(description="监管标识0否1是")
    private Byte superviseMark;

    /**
     * 救治中心标识0否1是
     */
    @TableField(value = "cure_mark")
    @Schema(description="救治中心标识0否1是")
    private Byte cureMark;

    /**
     * 档案关联标识0否1是
     */
    @TableField(value = "archives_mark")
    @Schema(description="档案关联标识0否1是")
    private Byte archivesMark;

    /**
     * 机构类型（0—卫健委；1—公立医院；2—私立医院；3—医联体；4—集团医院；5—第三方影像中心；99—其他；这些数据在数据字典内容信息中维护）
     */
    @TableField(value = "org_class")
    @Schema(description="机构类型（0—卫健委；1—公立医院；2—私立医院；3—医联体；4—集团医院；5—第三方影像中心；99—其他；这些数据在数据字典内容信息中维护）")
    private Integer orgClass;

    /**
     * 机构等级（1—一级；2—二级；3—3级；）
     */
    @TableField(value = "org_level")
    @Schema(description="机构等级（1—一级；2—二级；3—3级；）")
    private Byte orgLevel;

    /**
     * 排序
     */
    @TableField(value = "order_num")
    @Schema(description="排序")
    private Integer orderNum;

    /**
     * 状态（默认0—正常；1—停用）
     */
    @TableField(value = "`status`")
    @Schema(description="状态（默认0—正常；1—停用）")
    private Byte status;

    /**
     * 备注
     */
    @TableField(value = "remarks")
    @Schema(description="备注")
    private String remarks;
}